package com.cloudptt.api.product;

import com.cloudptt.api.product.config.call.CallConfig;
import com.cloudptt.api.product.config.msg.MsgConfig;
import com.cloudptt.api.product.func.SipOperator;
import com.cloudptt.api.product.func.call.CallListener;
import com.cloudptt.api.product.func.media.EventListener;
import com.cloudptt.api.product.func.message.MsgListener;
import com.cloudptt.api.product.func.sys.listener.LoginListener;
import com.cloudptt.api.product.func.sys.listener.SysListener;
import com.cloudptt.api.product.func.sys.listener.SysMsgListener;
import com.mcptt.config.local.SysConfig;

public interface IProduct {
	public void setLoginListener(LoginListener loginListener) ;
	public void setSysListener(SysListener sysListener);
	
	public void setSysMsgListener(SysMsgListener sysMsgListener);
	
	public void setEventListener(EventListener listener);
	
	public void setGroupCallListener(CallListener listener);
	public void setPrivacyClass(Class<?> cls);
	public void setMsgListener(MsgListener listener);

	public SipOperator getOperator(int funType);
	public ISuperCallOperator getSuperGroupCallOperator();

	public SysConfig getSysConfig();
	public CallConfig getCallConfig();
	public MsgConfig getMsgConfig();
}
